function C = A3( C, CON )

  %**********************************************************************
  %*** * Force Module A3
  %*** * Reserved C(3510) locations are 1400-1499
  %*** * This module performs the following functions:
  %*** *
  %*** * Calculates the specific force acting on the vehicle
  %*** *
  %*** * MODIFICATION HISTORY
  %*** * 960701  Created by Peter Zipfel
  %*** *
  %*** ******************************************************************

  persistent fapm fspv ; 

  if isempty(fapm), fapm=zeros(1,3); end;
  if isempty(fspv), fspv=zeros(1,3); end;

  %*** INPUT DATA
  % SREF = D Aerodynamic reference area - m^2
  % PHIMVX = D Bank angle of maneuver plane wrt vertical - deg

  sref = C(CON.SREF);
  phimvx = C(CON.PHIMVX);

  %*** INPUT FROM EXECUTIVE
  crad = C(CON.CRAD);

  %*** INPUT FROM OTHER MODULES
  % PDYNMC= G Dynamic Pressure - Pa
  % CD= O Drag coefficient - ND
  % CL= O Lift coefficient - ND
  % ALPHAX= D/O Angle of attack - deg
  % VMASS= I/O Vehicle mass - kg
  % THRUSTX= O Thrust at altitude - kN
  % DVBE= I/G Geographic speed - m/s  

  pdynmc = C(CON.PDYNMC);
  cd = C(CON.CD);
  cl = C(CON.CL);
  alphax = C(CON.ALPHAX);
  vmass = C(CON.VMASS);
  thrustx = C(CON.THRUSTX);
  dvbe = C(CON.DVBE);  

  %*** OUTPUTS TO OTHER MODULES

  % equivalence(bcom_1(1405),fspv(1)) ::;

  % FSPV(3) = O Specific force in velocity coordinates - m/s^2

  %*** DIAGNOSTICS

  % equivalence(bcom_1(1403),fd) ::;
  % equivalence(bcom_1(1404),fl) ::;

  % FD = G Drag force on vehicle - N
  % FL = G Lift force on vehicle - N
  % PDYNMC = G Dynamic Pressure - Pa

  %*** CALCULATE AERODYNAMIC FORCES

  fd=pdynmc.*sref.*cd;
  fl=pdynmc.*sref.*cl;

  %*** CALCULATE NON-GRAVITATIONAL FORCES IN MANEUVER PLANE

  fapm(1)=-fd+thrustx.*1000..*cos(alphax./crad);
  fapm(2)=0.;
  fapm(3)=-(fl+thrustx.*1000..*sin(alphax./crad));

  %*** SPECIFIC FORCE IN VELOCITY AXES

  fspv(1)=fapm(1)./vmass;
  fspv(2)=-sin(phimvx./crad).*fapm(3)./vmass;
  fspv(3)=cos(phimvx./crad).*fapm(3)./vmass;


  % Can store the vectors in a hash???
  % Otherwise create a global variable for all vectors and matrices

  % Already stored in persistent variable?
  %C(CON.FSPV) = fspv;
  %C(CON.FAPM) = fapm;

end

